Skip to content

Gloo WebSocket mid-level & high-level APIs. #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

thedodd
Copy link
Owner

@thedodd thedodd commented Apr 5, 2019

Once this is ready for peer review, close this PR and open against the rustwasm/gloo repo.

todo

  • use gloo events.
  • use gloo timers.
  • finish designing and building out the reconnect system.
  • finish building out the high-level API.
  • need to open an RFC for this against gloo.

@thedodd thedodd force-pushed the 49-websocket branch 4 times, most recently from 2427d63 to dc3e714 Compare April 17, 2019 15:50
thedodd added 5 commits April 23, 2019 20:39
The exponential backoff configuration is pretty solid. Should be g2g.

Core logic is in place. Reconnect algorithm should be g2g.

Broke apart logic into different modules. Easier to build upon.
Updated a few access control levels on the builder.

Updated ReconnectConfig to derive default after PR landed in upstream
backoff crate for derives on a few upstream types.
A send method is now in place which takes WsMessage instances for
sending WebSocket frames. Will send frames as either text or binary
based on the WsMessage variant being used.

Added a close method which will suppress reconnect behavior and will
drop the WebSocket instance.
Use a custom drop impl to ensure the underlying WebSocket is closed
properly.
@thedodd thedodd force-pushed the 49-websocket branch 5 times, most recently from c7aa564 to 6198bf6 Compare April 26, 2019 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant